package com.dj.mingkong.portal.biz.service.system;


import com.dj.mingkong.portal.biz.controller.system.vo.request.LoginVo;
import com.dj.mingkong.portal.biz.controller.system.vo.request.RegisterVo;
import com.dj.mingkong.portal.biz.controller.system.vo.request.UserUpdateVo;
import com.dj.mingkong.portal.biz.controller.system.vo.response.UserInfoVo;
import com.dj.mingkong.portal.biz.controller.system.vo.response.UserVo;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;

/**
 * 用户服务接口
 *
 * @author zenglonghui
 * @date: 2022/8/18 10:19
 */
public interface UserService {
    /**
     * 输出验证码图片
     *
     * @param request  请求
     * @param response 返回
     */
    void getVerifyCodeImage(HttpServletRequest request, HttpServletResponse response);

    /**
     * 用户保存
     *
     * @param registerVo {}
     * @param request    请求
     */
    void insert(RegisterVo registerVo, HttpServletRequest request);

    /**
     * 用户登录
     *
     * @param loginVo {}
     * @param request 请求
     * @return LoginResultVo
     */
    String login(LoginVo loginVo, HttpServletRequest request);

    /**
     * 账号注销
     */
    void logout();

    /**
     * 获取登录的用户详情信息
     *
     * @param userId long
     * @return UserInfoVo
     */
    UserInfoVo info(Long userId);

    /**
     * 获取我的个人信息
     *
     * @param userId Long
     * @return UserVo
     */
    UserVo getInfo(Long userId);

    /**
     * 修改个人信息
     *
     * @param updateVo {}
     */
    void updateById(UserUpdateVo updateVo);
}
